package com.alinu.workbench.service;

import com.alinu.vo.PaginationVO;
import com.alinu.workbench.domain.Clue;

import java.util.Map;

/**
 * @author chenzuwei
 * @date 2021/3/18
 * @description 线索业务接口类
 */
public interface ClueService {

    /**
     * 保存一个线索
     *
     * @param clue 线索
     * @return 是否保存成功
     */
    boolean saveClue(Clue clue);

    /**
     * 获取线索列表
     *
     * @param params 查询参数
     * @return 分页vo
     */
    PaginationVO<Clue> getClueList(Map<String, Object> params);

    /**
     * 查询一个线索通过ID
     *
     * @param id 线索id
     * @return 线索对象
     */
    Clue findClueById(String id);

    /**
     * 解除关联操作
     *
     * @param carId clue_activity_relation_id
     * @return 是否解除成功
     */
    boolean disassocaition(String carId);

    /**
     * 新增关联市场活动
     *
     * @param clueId      线索id
     * @param activityIds 市场活动id集
     * @return 是否关联成功
     */
    boolean saveRelation(String clueId, String[] activityIds);


    /**
     * 转换线索
     *
     * @param clueId 线索id
     * @return 是否转换成功
     */
    boolean convertClue(String clueId);

    /**
     * 删除线索
     *
     * @param clueId 线索id
     * @return 是否删除成功
     */
    boolean deleteClue(String clueId);
}
